这个问题还得从编程环境说起
公司是在mac系统下编码,我自己的电脑是windows系统
当我想着把公司的项目带回学校自己做时,并没有发现任何问题
但是当第二天到了公司,准备将代码提交上去时,惊奇地发现所有在学校改过的文件,git diff都显示修改过,而事实上我只是改动了一两行而已,git diff显示的是整个文件都被改动过了
这样就会导致一个问题,git diff变得没有意义了;同时以后同事要提交代码,都会出现冲突,这个问题不可小视
通过查找资料,最终得知是换行符的不同导致的,简单讲就是windows系统的换行符和mac系统的换行符不一样
通过vim编辑器打开,我们也可以看到每一行末尾都有^m这个标记
所以解决问题的方法就是去掉文件每一行末尾的^m标记
方式也有很多,常见的有dos2unix、用vim命令来匹配字符然后去掉
一行命令解决的事,绝不用两行
find js/ -name “*.js” | xargs dos2unix